#include <vector>
#include <iostream>
#include <algorithm>

using namespace std;
/*
9, 2, 1, 6, 7, 0   target = 7 {1, 6} {7, 0}

    vR
0 1 2 6 7 9
    ^L

arr[L] + arr[R] = 7 {0, 7} {1, 6} L == R
vR
1 2 3 4  targetNum = 3
  ^L

arr[L] + arr[R] = 3 {1, 2} L > R

L >= R

12, 3, 1, 2, -6, 5, -8, 6 targetNum = 0
    
           vL           vR
-8, -6, 1, 2, 3, 5, 6, 12
        ^curr

arr[L] + arr[R] = 8 {-8, 2, 6} {-8, 3, 5} {-6, 1, 5}

arr[curr] < targetNum && curr < arr.size() - 1

*curr < targetNum && curr < arr.end()
接下来，我们要在数组剩余的部分，找两个数字它们相加的和是 8
*/
vector<vector<int>> threeNumberSum(vector<int> arr, int targetNum) {
  sort(arr.begin(), arr.end());

  for (int curr = 0; arr[curr] < targetNum; ++curr) {
    int n = targetNum - arr[curr];

    // 在 arr 剩余的部分找两个数字相加的和是 n
    // 如果找到了，就把他俩和 arr[curr] 放在一起，组成一个答案
  }

  
}


int main(int argc, char const *argv[])
{
  /* code */
  return 0;
}
